The native mode of the IIfx uses a special processor (called an I/O processor, or IOP for short) to handle all serial work, thus increasing overall machine performance by off-loading this task from the CPU. However, applications must sacrifice direct serial chip (SCC) access for this performance gain, because while the IOP is operating, the SCC is not visible in the IIfx I/O memory map. Many times this is not a problem; however, some applications must directly access the SCC in order to gain functionality not otherwise available.
Bypassing the serial IOP
Fortunately, the IIfx serial IOP is capable of running in a special "IOP Bypass" mode which removes the IOP and instead allows direct access to the SCC. The bypass mechanism is controlled through a special cdev named the IIfx Serial Switch.
The Serial Switch allows applications which must directly access the SCC to bypass the IOP - while sacrificing the increased performance the IOP would bring. The switch is so named because presents the user with a binary choice of "Faster" or "Compatible" modes.
How the cdev works
Depending on the user's choice, this cdev sets a bit in parameter RAM which the IIfx checks during start up. If "Faster" mode is chosen (the default), then the IIfx uses the serial I/O processor; if the "Compatible" mode is chosen, then the IIfx disables the IOP and lets the 68030 CPU handle SCC processing, thus allowing direct SCC access.
Legal Mumbo-Jumbo
If you want to ship an application that requires the Serial Switch 1.1 cdev then you must license the cdev from Apple Software Licensing. Contact:
Apple Software Licensing
Apple Computer, Inc.
20525 Mariani Avenue, M/S 38-I
Cupertino, CA 95014
(408) 974-4667
AppleLink: Sw.License
Internet: Sw.License@AppleLink.Apple.com
Warning
There is no way for an application to determine in which mode it is running; therefore, if the machine is in "Faster" mode and an application attempts a direct call to the SCC, the machine crashes. Wherever possible therefore, we recommend use of the Macintosh built in drivers, such as the serial driver to isolate you from the underlying hardware.